Network virtualization is a manner of separating, by using software-based abstraction, network traffic from a physical network element. Network virtualization and virtualization of other forms have a lot in common.
In network virtualization, network traffic of switches, network ports, routers, and other physical elements in a network is abstractly isolated. Each physical element is replaced by a virtual representation form of a network element. An administrator can configure a virtual network element to meet its unique requirement. A main advantage of the network virtualization is that a plurality of physical networks may be integrated into a larger logical network.
Existing main network virtualization schemes include Open Virtual Switch (OVS) and Distributed Virtual Switch (DVS) of VMware®. For a mainstream OVS architecture, a virtual switch (vSwitch) is implemented in a Host kernel. In particular, the virtual switch is implemented in a Virtual Machine Monitor (VMM) kernel. The virtual switch is in a core position of a virtual network and its architecture is shown in FIG. 1, where the vSwitch uses a virtual port to connect to a virtual machine (VM) and an underlying network interface card (NIC) through a front-end (FE)/back-end (BE). The Host allocates physical resources such as central processing unit (CPU) and memory to a virtual machine and all types of virtual hardware running on the host. These physical resources are classified into kernel space physical resources and user space physical resources. In a switching process, the vSwitch needs to apply for and occupy many physical resources in Host kernel space, which is especially unfavorable for the Host to perform management and resource allocation on the virtual network. The vSwitch undertakes lots of tasks and functions, for example, virtual local area network (VLAN), load-balance, tunneling, security, Link Aggregation Control Protocol (LACP), and quality of service (QoS), as shown in FIG. 1. Design of the vSwitch is very complicated. The vSwitch and a Host kernel are tightly coupled, resulting in poor scalability and flexibility of the vSwitch and the entire virtual network.